package cn.iocoder.yudao.module.crossborder.crm.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;

/**
 * CrossBorder CRM 错误码枚举类
 *
 * crossborder crm 系统，使用 1-021-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 客户管理相关 1-021-001-000 ============
    ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(1_021_001_000, "客户不存在");
    ErrorCode CUSTOMER_ALREADY_EXISTS = new ErrorCode(1_021_001_001, "客户已存在");
    ErrorCode CUSTOMER_STATUS_INVALID = new ErrorCode(1_021_001_002, "客户状态无效");
    ErrorCode CUSTOMER_LEVEL_INVALID = new ErrorCode(1_021_001_003, "客户等级无效");

    // ========== 联系人管理相关 1-021-002-000 ============
    ErrorCode CONTACT_NOT_EXISTS = new ErrorCode(1_021_002_000, "联系人不存在");
    ErrorCode CONTACT_ALREADY_EXISTS = new ErrorCode(1_021_002_001, "联系人已存在");
    ErrorCode CONTACT_TYPE_INVALID = new ErrorCode(1_021_002_002, "联系人类型无效");
    ErrorCode CONTACT_CUSTOMER_MISMATCH = new ErrorCode(1_021_002_003, "联系人与客户不匹配");

    // ========== 销售机会相关 1-021-003-000 ============
    ErrorCode OPPORTUNITY_NOT_EXISTS = new ErrorCode(1_021_003_000, "销售机会不存在");
    ErrorCode OPPORTUNITY_STATUS_INVALID = new ErrorCode(1_021_003_001, "销售机会状态无效");
    ErrorCode OPPORTUNITY_STAGE_INVALID = new ErrorCode(1_021_003_002, "销售阶段无效");
    ErrorCode OPPORTUNITY_AMOUNT_INVALID = new ErrorCode(1_021_003_003, "销售金额无效");

    // ========== 客户服务相关 1-021-004-000 ============
    ErrorCode SERVICE_CASE_NOT_EXISTS = new ErrorCode(1_021_004_000, "服务案例不存在");
    ErrorCode SERVICE_CASE_STATUS_INVALID = new ErrorCode(1_021_004_001, "服务案例状态无效");
    ErrorCode SERVICE_CASE_PRIORITY_INVALID = new ErrorCode(1_021_004_002, "服务案例优先级无效");
    ErrorCode SERVICE_CASE_ASSIGNED_INVALID = new ErrorCode(1_021_004_003, "服务案例分配无效");

    // ========== 营销活动相关 1-021-005-000 ============
    ErrorCode CAMPAIGN_NOT_EXISTS = new ErrorCode(1_021_005_000, "营销活动不存在");
    ErrorCode CAMPAIGN_STATUS_INVALID = new ErrorCode(1_021_005_001, "营销活动状态无效");
    ErrorCode CAMPAIGN_DATE_INVALID = new ErrorCode(1_021_005_002, "营销活动日期无效");
    ErrorCode CAMPAIGN_BUDGET_INVALID = new ErrorCode(1_021_005_003, "营销活动预算无效");

}
